home *** CD-ROM | disk | FTP | other *** search
/ Borland JBuilder 6 / jbuilder6.iso / IBM VisualAge for Java Enterprise v4.0 Retail / ivj40 / setup / IDE.Cab / F77452_VAJava2WorkbookUI.class (.txt) < prev    next >
Encoding:
Java Class File  |  2000-04-25  |  5.4 KB  |  224 lines

  1. package com.ibm.ivb.jface.vajava2;
  2.  
  3. import com.ibm.ivb.jface.basic.BasicWorkbookUI;
  4. import com.ibm.ivb.jface.parts.WorkbookPage;
  5. import java.awt.Color;
  6. import java.awt.Dimension;
  7. import java.awt.Font;
  8. import java.awt.FontMetrics;
  9. import java.awt.Graphics;
  10. import java.awt.Rectangle;
  11. import javax.swing.Icon;
  12. import javax.swing.JComponent;
  13. import javax.swing.border.BevelBorder;
  14. import javax.swing.border.Border;
  15. import javax.swing.plaf.ComponentUI;
  16.  
  17. public class VAJava2WorkbookUI extends BasicWorkbookUI {
  18.    private static final String kCBIBMCopyright = "(c) Copyright IBM Corporation 1998";
  19.    Border pageClientBorder = new BevelBorder(1, VAJava2LookAndFeel.getLight1(), VAJava2LookAndFeel.getDark1());
  20.    int shaftPad = 6;
  21.  
  22.    public VAJava2WorkbookUI() {
  23.       super.goprevVisible = false;
  24.    }
  25.  
  26.    protected void calculateArrowWidth() {
  27.       super.arrowWidth = super.left.getPreferredSize().width + super.right.getPreferredSize().width + (super.goprev.isVisible() ? 10 + super.goprev.getPreferredSize().width : 0) + 10;
  28.    }
  29.  
  30.    public static ComponentUI createUI(JComponent var0) {
  31.       return new VAJava2WorkbookUI();
  32.    }
  33.  
  34.    public Color getSelectedTextColor() {
  35.       return Color.black;
  36.    }
  37.  
  38.    protected int getTabHeight() {
  39.       Font var1 = super.wb.getFont();
  40.       if (var1 == null) {
  41.          return 30;
  42.       } else {
  43.          super.captionFont = var1;
  44.          FontMetrics var2 = super.wb.getFontMetrics(var1);
  45.          int var3 = var2.getHeight();
  46.          return 5 + var3 + 4;
  47.       }
  48.    }
  49.  
  50.    public void installUI(JComponent var1) {
  51.       super.installUI(var1);
  52.       super.goprev.setVisible(false);
  53.       super.tabWidth = 10;
  54.       super.tabGap = 0;
  55.       super.tpad = 8;
  56.       super.borderInsets.top = this.shaftPad;
  57.       super.borderInsets.left = 0;
  58.       super.borderInsets.right = 0;
  59.       super.borderInsets.bottom = 0;
  60.       super.doplerShift = 1;
  61.       super.extInsets.top = super.borderInsets.top + 2;
  62.       super.extInsets.left = super.borderInsets.left + 4;
  63.       super.extInsets.right = super.borderInsets.right + 4;
  64.       super.extInsets.bottom = super.borderInsets.bottom + 1;
  65.       super.tabHighlight = true;
  66.       super.tabOverlap = false;
  67.       super.tabStart = 7;
  68.    }
  69.  
  70.    protected void paintBorders(Graphics var1, int var2) {
  71.       super.tabHeight = this.getTabHeight();
  72.       int var3 = super.tabHeight + this.shaftPad;
  73.       Rectangle var4 = ((BasicWorkbookUI)this).getFrameRect(var3);
  74.       var1.setColor(VAJava2LookAndFeel.getLight1());
  75.       var1.drawLine(0, var3, var4.width, var3);
  76.    }
  77.  
  78.    protected boolean paintOneTab(Graphics var1, WorkbookPage var2, int var3, int var4, int var5, int var6, boolean var7, boolean var8) {
  79.       super.tabHeight = this.getTabHeight();
  80.       Color var9 = super.wb.getBackground();
  81.       Icon var10 = var2.getIcon();
  82.       String var11 = var2.getTitle();
  83.       boolean var12 = false;
  84.       int var13 = var4 + super.tabHeight - 5;
  85.       int var14 = var13;
  86.       Color var15 = VAJava2LookAndFeel.getDark2();
  87.       Color var16 = VAJava2LookAndFeel.getDark1();
  88.       Color var17 = VAJava2LookAndFeel.getLight1();
  89.       FontMetrics var18 = var1.getFontMetrics();
  90.       int var19 = var11 != null ? var18.stringWidth(var11) : 0;
  91.       if (var10 != null) {
  92.          var19 += var10.getIconWidth() + 5;
  93.       }
  94.  
  95.       if (var19 < super.tabWidth) {
  96.          var19 = super.tabWidth;
  97.       }
  98.  
  99.       int var20 = super.tpad + var19 + super.tpad;
  100.       boolean var21 = var5 == super.wb.getPageCount() - 1;
  101.       if (var3 + var20 > var6 - super.tabGap) {
  102.          return false;
  103.       } else {
  104.          if (var5 == super.currentPage) {
  105.             var12 = true;
  106.             var14 = var13 - super.doplerShift;
  107.          }
  108.  
  109.          int var22 = 0;
  110.          int var23 = super.tabHeight;
  111.          if (!var12) {
  112.             var22 = super.doplerShift;
  113.             var23 -= var22;
  114.          }
  115.  
  116.          var1.setColor(var9);
  117.          int var24 = var12 ? super.doplerShift + 3 : 0;
  118.          var1.fillRect(var3, var4 + 4, var20, var23 + var24 - 3);
  119.          var1.setColor(var9);
  120.          if (var12) {
  121.             var1.drawLine(var3 + 3, var4 + 1, var3 + var20 - 4, var4 + 1);
  122.          }
  123.  
  124.          var1.drawLine(var3 + 1, var4 + 3, var3 + var20 - 2, var4 + 3);
  125.          var1.drawLine(var3 + 2, var4 + 2, var3 + var20 - 3, var4 + 2);
  126.          var1.setColor(var16);
  127.          var1.drawLine(var3 + var20 - 1, var4 + 3 + var22, var3 + var20 - 1, var4 + var23 + var22 - 1);
  128.          if (!var12) {
  129.             var1.drawLine(var3 + 1, var4 + var23 + var22 - 1, var3 + var20 - 1, var4 + var23 + var22 - 1);
  130.          }
  131.  
  132.          var1.setColor(Color.black);
  133.          if (var12) {
  134.             var1.drawLine(var3, var4 + 4, var3, var4 + var23);
  135.             var1.drawLine(var3, var4 + 4, var3 + 4, var4);
  136.             var1.drawLine(var3 + 4, var4, var3 + var20 - 4, var4);
  137.             var1.drawLine(var3 + var20 - 4, var4, var3 + var20 - 1, var4 + 3);
  138.          } else {
  139.             var1.drawLine(var3, var4 + 4, var3, var4 + var23);
  140.             var1.drawLine(var3, var4 + 4, var3 + 3, var4 + 1);
  141.             var1.drawLine(var3 + 3, var4 + 1, var3 + var20 - 3, var4 + 1);
  142.             var1.drawLine(var3 + var20 - 3, var4 + 1, var3 + var20 - 1, var4 + 3);
  143.          }
  144.  
  145.          if (var21) {
  146.             var1.drawLine(var3 + var20, var4 + 3 + var22, var3 + var20, var4 + var23 + var22 - 1);
  147.          }
  148.  
  149.          if (var12) {
  150.             var1.setColor(var17);
  151.             var1.drawLine(var3, var4 + var23 + var22, var3 + 2, var4 + var23 + var22);
  152.             var1.drawLine(var3 + 2, var4 + var23, var3 + 2, var4 + 4);
  153.             var1.drawLine(var3 + 2, var4 + 4, var3 + 5, var4 + 1);
  154.             var1.drawLine(var3 + 5, var4 + 1, var3 + var20 - 4, var4 + 1);
  155.             var1.drawLine(var3 + var20 - 2, var4 + var23, var3 + var20 - 1, var4 + var23);
  156.             var1.setColor(var16);
  157.             var1.drawLine(var3 + 1, var4 + var23 - 1, var3 + 1, var4 + 4);
  158.             var1.drawLine(var3 + 1, var4 + 4, var3 + 4, var4 + 1);
  159.             var1.drawLine(var3 + var20 - 2, var4 + var23 - 1, var3 + var20 - 2, var4 + 3);
  160.             var1.drawLine(var3 + var20 - 2, var4 + 3, var3 + var20 - 3, var4 + 2);
  161.             var1.setColor(var15);
  162.             var1.drawLine(var3 + var20 - 1, var4 + var23 - 1, var3 + var20 - 1, var4 + 3);
  163.             var1.drawLine(var3 + var20 - 1, var4 + 3, var3 + var20 - 3, var4 + 1);
  164.             var1.setColor(Color.black);
  165.             var1.drawLine(var3 + var20, var4 + 3, var3 + var20 - 3, var4);
  166.          }
  167.  
  168.          int var25 = var4 + var22 - 1;
  169.          if (var12) {
  170.             var1.setColor(this.getSelectedTextColor());
  171.          } else {
  172.             var1.setColor(Color.black);
  173.          }
  174.  
  175.          int var26 = var3 + var20 / 2 - var19 / 2;
  176.          if (var10 != null) {
  177.             int var27 = var4 + super.tabHeight / 2 - var10.getIconHeight() / 2;
  178.             if (!var12) {
  179.                var27 += super.doplerShift;
  180.             }
  181.  
  182.             var10.paintIcon(super.wb, var1, var26, var27);
  183.             var26 += 5 + var10.getIconWidth();
  184.          }
  185.  
  186.          if (var11 != null) {
  187.             if (super.wb.isEnabled() && var2.isEnabled()) {
  188.                var1.drawString(var11, var26, var14);
  189.             } else {
  190.                var1.setColor(var9.brighter());
  191.                var1.drawString(var11, var26, var14);
  192.                var1.setColor(var9.darker());
  193.                var1.drawString(var11, var26 - 1, var14 - 1);
  194.             }
  195.          }
  196.  
  197.          var2.setTabBounds(var3, var4, var20 + (var21 ? 1 : 0), super.tabHeight);
  198.          return true;
  199.       }
  200.    }
  201.  
  202.    protected void paintTabShaft(Graphics var1, boolean var2) {
  203.       super.tabHeight = this.getTabHeight();
  204.       int var3 = super.tabHeight + this.shaftPad;
  205.       Rectangle var4 = ((BasicWorkbookUI)this).getFrameRect(var3);
  206.       var1.setColor(VAJava2LookAndFeel.getDark2());
  207.       var1.fillRect(0, 0, var4.width, var3);
  208.       var1.setColor(Color.black);
  209.       var1.drawLine(1, 0, 1, var3 - 1);
  210.       var1.drawLine(1, 0, var4.width, 0);
  211.    }
  212.  
  213.    public void paintWorkbookBorder(Graphics var1, Color var2, Dimension var3) {
  214.       var1.setColor(var2.darker());
  215.       var1.drawLine(0, 0, 0, var3.height - 1);
  216.       var1.drawLine(var3.width - 1, 0, var3.width - 1, var3.height - 1);
  217.       var1.drawLine(0, var3.height - 1, var3.width - 1, var3.height - 1);
  218.    }
  219.  
  220.    public void uninstallUI(JComponent var1) {
  221.       super.uninstallUI(var1);
  222.    }
  223. }
  224.